﻿namespace WMS6.Web.BaseInfoServiceRef
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Runtime.CompilerServices;
    using System.Runtime.Serialization;

    [Serializable, GeneratedCode("System.Runtime.Serialization", "3.0.0.0"), DebuggerStepThrough, DataContract(Name="LocationInfo", Namespace="http://schemas.datacontract.org/2004/07/WMS6.DataEntity")]
    public class LocationInfo : IExtensibleDataObject, INotifyPropertyChanged
    {
        [OptionalField]
        private string AbcField;
        [OptionalField]
        private string CheckDigField;
        [OptionalField]
        private string CreatedByField;
        [OptionalField]
        private DateTime CreatedDateField;
        [OptionalField]
        private double CubeField;
        [OptionalField]
        private double CubicCapacityField;
        [NonSerialized]
        private ExtensionDataObject extensionDataField;
        [OptionalField]
        private int FootPrintField;
        [OptionalField]
        private double HeightField;
        [OptionalField]
        private string IsActiveField;
        [OptionalField]
        private string IsLoseIDField;
        [OptionalField]
        private string IsMultiLotField;
        [OptionalField]
        private string IsMultiSkuField;
        [OptionalField]
        private double LengthField;
        [OptionalField]
        private string LocCategoryField;
        [OptionalField]
        private string LocField;
        [OptionalField]
        private string LocFlagField;
        [OptionalField]
        private string LocHandlingField;
        [OptionalField]
        private int LocLevelField;
        [OptionalField]
        private string LocTemplateIDField;
        [OptionalField]
        private string LocUsageField;
        [OptionalField]
        private string LogicalLocField;
        [OptionalField]
        private int RowIDField;
        [OptionalField]
        private int StackLimitField;
        [OptionalField]
        private string StatusField;
        [OptionalField]
        private string SystemCreatedField;
        [OptionalField]
        private string T_LOC_CATEGORYField;
        [OptionalField]
        private string T_LOC_FLAGField;
        [OptionalField]
        private string T_LOC_HANDLINGField;
        [OptionalField]
        private string T_LOC_USAGEField;
        [OptionalField]
        private string TemplateField1Field;
        [OptionalField]
        private string TemplateField2Field;
        [OptionalField]
        private string TemplateField3Field;
        [OptionalField]
        private string TemplateField4Field;
        [OptionalField]
        private string TemplateField5Field;
        [OptionalField]
        private byte[] TsField;
        [OptionalField]
        private string UpdatedByField;
        [OptionalField]
        private DateTime UpdatedDateField;
        [OptionalField]
        private double WeightCapacityField;
        [OptionalField]
        private string WhIDField;
        [OptionalField]
        private double WidthField;
        [OptionalField]
        private int XCoordField;
        [OptionalField]
        private int YCoordField;
        [OptionalField]
        private int ZCoordField;
        [OptionalField]
        private string ZoneIDField;

        public event PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if (propertyChanged != null)
            {
                propertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }

        [DataMember]
        public string Abc
        {
            get
            {
                return this.AbcField;
            }
            set
            {
                if (!object.ReferenceEquals(this.AbcField, value))
                {
                    this.AbcField = value;
                    this.RaisePropertyChanged("Abc");
                }
            }
        }

        [DataMember]
        public string CheckDig
        {
            get
            {
                return this.CheckDigField;
            }
            set
            {
                if (!object.ReferenceEquals(this.CheckDigField, value))
                {
                    this.CheckDigField = value;
                    this.RaisePropertyChanged("CheckDig");
                }
            }
        }

        [DataMember]
        public string CreatedBy
        {
            get
            {
                return this.CreatedByField;
            }
            set
            {
                if (!object.ReferenceEquals(this.CreatedByField, value))
                {
                    this.CreatedByField = value;
                    this.RaisePropertyChanged("CreatedBy");
                }
            }
        }

        [DataMember]
        public DateTime CreatedDate
        {
            get
            {
                return this.CreatedDateField;
            }
            set
            {
                if (!this.CreatedDateField.Equals(value))
                {
                    this.CreatedDateField = value;
                    this.RaisePropertyChanged("CreatedDate");
                }
            }
        }

        [DataMember]
        public double Cube
        {
            get
            {
                return this.CubeField;
            }
            set
            {
                if (!this.CubeField.Equals(value))
                {
                    this.CubeField = value;
                    this.RaisePropertyChanged("Cube");
                }
            }
        }

        [DataMember]
        public double CubicCapacity
        {
            get
            {
                return this.CubicCapacityField;
            }
            set
            {
                if (!this.CubicCapacityField.Equals(value))
                {
                    this.CubicCapacityField = value;
                    this.RaisePropertyChanged("CubicCapacity");
                }
            }
        }

        [Browsable(false)]
        public ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [DataMember]
        public int FootPrint
        {
            get
            {
                return this.FootPrintField;
            }
            set
            {
                if (!this.FootPrintField.Equals(value))
                {
                    this.FootPrintField = value;
                    this.RaisePropertyChanged("FootPrint");
                }
            }
        }

        [DataMember]
        public double Height
        {
            get
            {
                return this.HeightField;
            }
            set
            {
                if (!this.HeightField.Equals(value))
                {
                    this.HeightField = value;
                    this.RaisePropertyChanged("Height");
                }
            }
        }

        [DataMember]
        public string IsActive
        {
            get
            {
                return this.IsActiveField;
            }
            set
            {
                if (!object.ReferenceEquals(this.IsActiveField, value))
                {
                    this.IsActiveField = value;
                    this.RaisePropertyChanged("IsActive");
                }
            }
        }

        [DataMember]
        public string IsLoseID
        {
            get
            {
                return this.IsLoseIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.IsLoseIDField, value))
                {
                    this.IsLoseIDField = value;
                    this.RaisePropertyChanged("IsLoseID");
                }
            }
        }

        [DataMember]
        public string IsMultiLot
        {
            get
            {
                return this.IsMultiLotField;
            }
            set
            {
                if (!object.ReferenceEquals(this.IsMultiLotField, value))
                {
                    this.IsMultiLotField = value;
                    this.RaisePropertyChanged("IsMultiLot");
                }
            }
        }

        [DataMember]
        public string IsMultiSku
        {
            get
            {
                return this.IsMultiSkuField;
            }
            set
            {
                if (!object.ReferenceEquals(this.IsMultiSkuField, value))
                {
                    this.IsMultiSkuField = value;
                    this.RaisePropertyChanged("IsMultiSku");
                }
            }
        }

        [DataMember]
        public double Length
        {
            get
            {
                return this.LengthField;
            }
            set
            {
                if (!this.LengthField.Equals(value))
                {
                    this.LengthField = value;
                    this.RaisePropertyChanged("Length");
                }
            }
        }

        [DataMember]
        public string Loc
        {
            get
            {
                return this.LocField;
            }
            set
            {
                if (!object.ReferenceEquals(this.LocField, value))
                {
                    this.LocField = value;
                    this.RaisePropertyChanged("Loc");
                }
            }
        }

        [DataMember]
        public string LocCategory
        {
            get
            {
                return this.LocCategoryField;
            }
            set
            {
                if (!object.ReferenceEquals(this.LocCategoryField, value))
                {
                    this.LocCategoryField = value;
                    this.RaisePropertyChanged("LocCategory");
                }
            }
        }

        [DataMember]
        public string LocFlag
        {
            get
            {
                return this.LocFlagField;
            }
            set
            {
                if (!object.ReferenceEquals(this.LocFlagField, value))
                {
                    this.LocFlagField = value;
                    this.RaisePropertyChanged("LocFlag");
                }
            }
        }

        [DataMember]
        public string LocHandling
        {
            get
            {
                return this.LocHandlingField;
            }
            set
            {
                if (!object.ReferenceEquals(this.LocHandlingField, value))
                {
                    this.LocHandlingField = value;
                    this.RaisePropertyChanged("LocHandling");
                }
            }
        }

        [DataMember]
        public int LocLevel
        {
            get
            {
                return this.LocLevelField;
            }
            set
            {
                if (!this.LocLevelField.Equals(value))
                {
                    this.LocLevelField = value;
                    this.RaisePropertyChanged("LocLevel");
                }
            }
        }

        [DataMember]
        public string LocTemplateID
        {
            get
            {
                return this.LocTemplateIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.LocTemplateIDField, value))
                {
                    this.LocTemplateIDField = value;
                    this.RaisePropertyChanged("LocTemplateID");
                }
            }
        }

        [DataMember]
        public string LocUsage
        {
            get
            {
                return this.LocUsageField;
            }
            set
            {
                if (!object.ReferenceEquals(this.LocUsageField, value))
                {
                    this.LocUsageField = value;
                    this.RaisePropertyChanged("LocUsage");
                }
            }
        }

        [DataMember]
        public string LogicalLoc
        {
            get
            {
                return this.LogicalLocField;
            }
            set
            {
                if (!object.ReferenceEquals(this.LogicalLocField, value))
                {
                    this.LogicalLocField = value;
                    this.RaisePropertyChanged("LogicalLoc");
                }
            }
        }

        [DataMember]
        public int RowID
        {
            get
            {
                return this.RowIDField;
            }
            set
            {
                if (!this.RowIDField.Equals(value))
                {
                    this.RowIDField = value;
                    this.RaisePropertyChanged("RowID");
                }
            }
        }

        [DataMember]
        public int StackLimit
        {
            get
            {
                return this.StackLimitField;
            }
            set
            {
                if (!this.StackLimitField.Equals(value))
                {
                    this.StackLimitField = value;
                    this.RaisePropertyChanged("StackLimit");
                }
            }
        }

        [DataMember]
        public string Status
        {
            get
            {
                return this.StatusField;
            }
            set
            {
                if (!object.ReferenceEquals(this.StatusField, value))
                {
                    this.StatusField = value;
                    this.RaisePropertyChanged("Status");
                }
            }
        }

        [DataMember]
        public string SystemCreated
        {
            get
            {
                return this.SystemCreatedField;
            }
            set
            {
                if (!object.ReferenceEquals(this.SystemCreatedField, value))
                {
                    this.SystemCreatedField = value;
                    this.RaisePropertyChanged("SystemCreated");
                }
            }
        }

        [DataMember]
        public string T_LOC_CATEGORY
        {
            get
            {
                return this.T_LOC_CATEGORYField;
            }
            set
            {
                if (!object.ReferenceEquals(this.T_LOC_CATEGORYField, value))
                {
                    this.T_LOC_CATEGORYField = value;
                    this.RaisePropertyChanged("T_LOC_CATEGORY");
                }
            }
        }

        [DataMember]
        public string T_LOC_FLAG
        {
            get
            {
                return this.T_LOC_FLAGField;
            }
            set
            {
                if (!object.ReferenceEquals(this.T_LOC_FLAGField, value))
                {
                    this.T_LOC_FLAGField = value;
                    this.RaisePropertyChanged("T_LOC_FLAG");
                }
            }
        }

        [DataMember]
        public string T_LOC_HANDLING
        {
            get
            {
                return this.T_LOC_HANDLINGField;
            }
            set
            {
                if (!object.ReferenceEquals(this.T_LOC_HANDLINGField, value))
                {
                    this.T_LOC_HANDLINGField = value;
                    this.RaisePropertyChanged("T_LOC_HANDLING");
                }
            }
        }

        [DataMember]
        public string T_LOC_USAGE
        {
            get
            {
                return this.T_LOC_USAGEField;
            }
            set
            {
                if (!object.ReferenceEquals(this.T_LOC_USAGEField, value))
                {
                    this.T_LOC_USAGEField = value;
                    this.RaisePropertyChanged("T_LOC_USAGE");
                }
            }
        }

        [DataMember]
        public string TemplateField1
        {
            get
            {
                return this.TemplateField1Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.TemplateField1Field, value))
                {
                    this.TemplateField1Field = value;
                    this.RaisePropertyChanged("TemplateField1");
                }
            }
        }

        [DataMember]
        public string TemplateField2
        {
            get
            {
                return this.TemplateField2Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.TemplateField2Field, value))
                {
                    this.TemplateField2Field = value;
                    this.RaisePropertyChanged("TemplateField2");
                }
            }
        }

        [DataMember]
        public string TemplateField3
        {
            get
            {
                return this.TemplateField3Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.TemplateField3Field, value))
                {
                    this.TemplateField3Field = value;
                    this.RaisePropertyChanged("TemplateField3");
                }
            }
        }

        [DataMember]
        public string TemplateField4
        {
            get
            {
                return this.TemplateField4Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.TemplateField4Field, value))
                {
                    this.TemplateField4Field = value;
                    this.RaisePropertyChanged("TemplateField4");
                }
            }
        }

        [DataMember]
        public string TemplateField5
        {
            get
            {
                return this.TemplateField5Field;
            }
            set
            {
                if (!object.ReferenceEquals(this.TemplateField5Field, value))
                {
                    this.TemplateField5Field = value;
                    this.RaisePropertyChanged("TemplateField5");
                }
            }
        }

        [DataMember]
        public byte[] Ts
        {
            get
            {
                return this.TsField;
            }
            set
            {
                if (!object.ReferenceEquals(this.TsField, value))
                {
                    this.TsField = value;
                    this.RaisePropertyChanged("Ts");
                }
            }
        }

        [DataMember]
        public string UpdatedBy
        {
            get
            {
                return this.UpdatedByField;
            }
            set
            {
                if (!object.ReferenceEquals(this.UpdatedByField, value))
                {
                    this.UpdatedByField = value;
                    this.RaisePropertyChanged("UpdatedBy");
                }
            }
        }

        [DataMember]
        public DateTime UpdatedDate
        {
            get
            {
                return this.UpdatedDateField;
            }
            set
            {
                if (!this.UpdatedDateField.Equals(value))
                {
                    this.UpdatedDateField = value;
                    this.RaisePropertyChanged("UpdatedDate");
                }
            }
        }

        [DataMember]
        public double WeightCapacity
        {
            get
            {
                return this.WeightCapacityField;
            }
            set
            {
                if (!this.WeightCapacityField.Equals(value))
                {
                    this.WeightCapacityField = value;
                    this.RaisePropertyChanged("WeightCapacity");
                }
            }
        }

        [DataMember]
        public string WhID
        {
            get
            {
                return this.WhIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.WhIDField, value))
                {
                    this.WhIDField = value;
                    this.RaisePropertyChanged("WhID");
                }
            }
        }

        [DataMember]
        public double Width
        {
            get
            {
                return this.WidthField;
            }
            set
            {
                if (!this.WidthField.Equals(value))
                {
                    this.WidthField = value;
                    this.RaisePropertyChanged("Width");
                }
            }
        }

        [DataMember]
        public int XCoord
        {
            get
            {
                return this.XCoordField;
            }
            set
            {
                if (!this.XCoordField.Equals(value))
                {
                    this.XCoordField = value;
                    this.RaisePropertyChanged("XCoord");
                }
            }
        }

        [DataMember]
        public int YCoord
        {
            get
            {
                return this.YCoordField;
            }
            set
            {
                if (!this.YCoordField.Equals(value))
                {
                    this.YCoordField = value;
                    this.RaisePropertyChanged("YCoord");
                }
            }
        }

        [DataMember]
        public int ZCoord
        {
            get
            {
                return this.ZCoordField;
            }
            set
            {
                if (!this.ZCoordField.Equals(value))
                {
                    this.ZCoordField = value;
                    this.RaisePropertyChanged("ZCoord");
                }
            }
        }

        [DataMember]
        public string ZoneID
        {
            get
            {
                return this.ZoneIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.ZoneIDField, value))
                {
                    this.ZoneIDField = value;
                    this.RaisePropertyChanged("ZoneID");
                }
            }
        }
    }
}

